#include <REGX52.H>
#include "delay.h"
int StepTime = 1000;//steptime表示每步的时间
//八拍
unsigned char code Rotation[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};

/**
 * 函    数：控制步进电机运行
 * 参    数：Step 转速(单步暂停时长)
			 Angle 角度(0-360)
			 Direction 转动方向（1-顺时针，2-逆时针）
 * 返 回 值：无
 */
void StemMotor_Run(int Step,int Angle,int Direction)
{
	int i=0;
	Angle=(int)(Angle/0.72);
	while((Angle--)>=0)
	{
		if(Direction==1)//正转
		{
			//每执行一次下面的循环，步进电机转角0.72度 ，
			//步进电机运行1周，需执行500次下面的循环
			for(i=0;i<8;i++)
			{
				P1=Rotation[i];//步距角0.09度，4000次转一圈
				Delay_ms(Step);
			}
		}
		else if(Direction==2)//反转
		{
			for(i=7;i>=0;i--)
			{
				P1=Rotation[i];
				Delay_ms(Step);
			}
		}	
	}
}